]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
popupMenu: bypass changeSignal callback if action is already handled
authorAlban Browaeys <prahal@yahoo.com>
Sun, 20 May 2012 21:37:22 +0000 (23:37 +0200)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Tue, 5 Jun 2012 14:28:40 +0000 (16:28 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=676447

js/ui/popupMenu.js

index 35843d9013ef3a319274174eaf46109e0e47d964..368442db46950e786db5e6897899f8fc56fcb04e 100644 (file)
@@ -1961,8 +1961,9 @@ const RemoteMenu = new Lang.Class({
                     k++;
                 }
             } else if (changeSignal) {
-                let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function() {
-                    this.actionGroup.disconnect(signalId);
+                let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function(actionGroup, actionName) {
+                    actionGroup.disconnect(signalId);
+                    if (this._actions[actionName]) return;
 
                     // force a full update
                     this._modelChanged(model, 0, -1, model.get_n_items(), target);